home *** CD-ROM | disk | FTP | other *** search
- rollout LadderRollOut "Ladder" rolledUp:true (
- local _name
- local _RollOut
-
- ---------------------------------------------------------------
- -- init GUI
- ---------------------------------------------------------------
- include "$scripts\\pteroTools\\_propGroupUI.ms"
- checkbox cbxLadder "Is Ladder"
-
- ---------------------------------------------------------------
- -- Init RollOut
- ---------------------------------------------------------------
- fn fnKeyNames = #( _name )
- fn fnKeyUI = #( #( cbxLadder ) )
- fn fnKeyDef = #( #( 0 ) )
- fn fnName = "Ladder"
- fn fnRollOut = LadderRollOut
- fn fnInitRollOut = (
- local _name = fnName()
- local _RollOut = fnRollOut()
- fnAppendRollOut _RollOut _name
- )
-
- ---------------------------------------------------------------
- -- fnApply()
- ---------------------------------------------------------------
- fn fnApply obj keyIDX read write del acq acqObj def sav = (
- local keyNames = fnKeyNames()
- local keyUI = fnKeyUI()
- local keyDef = fnKeyDef()
- local keyArray = #()
-
- if del do fnDeleteProp obj keyNames[keyIDX] ---- DELETE
-
- if sav do ---- SAVE DEFAULT
- try (
- if keyIDX == 1 do keyDef[keyIDX][1] = if keyUI[keyIDX][1].checked then 1 else 0
- fnSetDefs ( keyNames[keyIDX] as string ) ( keyDef[keyIDX] as string )
- return true
- ) catch ( print ( "Error: " + _name + ".fnApply() - save" ); return false )
-
- keyArray = if acq then fnReadProp acqObj keyNames[keyIDX] else fnReadProp obj keyNames[keyIDX] ---- ACQUIRE
-
- if read or acq or del or def do ( ---- READ
- if ( keyArray[_firstValue] == "" ) or ( keyArray[_firstValue] as string == "undefined" ) or def then
- try (
- if def then keyDef[keyIDX] = fnGetDefs keyNames[keyIDX]
- if keyIDX == 1 do keyUI[keyIDX][1].checked = if keyDef[keyIDX][1] == 1 then true else false
- ) catch ( print ( "Error: " + _name + ".fnApply() - read - default" ); return false )
- else
- try (
- if keyIDX == 1 do keyUI[keyIDX][1].checked = if keyArray[_firstValue] as integer == 1 then true else false
- ) catch ( print ( "Error: " + _name + ".fnApply() - read - properties" ); return false )
-
- if read or del do return true
- )
-
- if write do ---- WRITE
- try (
- keyArray[_keyName] = keyNames[keyIDX]
- if keyIDX == 1 do if keyUI[keyIDX][1].checked == false then del = true else keyArray[_firstValue] = "1"
- if del then fnDeleteProp obj keyNames[keyIDX] else fnWriteProp obj keyArray
- return true
- ) catch ( print ( "Error: " + _name + ".fnApply() - write" ); return false )
- )
-
- ---------------------------------------------------------------
- -- fnUpdate()
- ---------------------------------------------------------------
- fn fnUpdate keyIDX:1 read:false write:false del:false acq:false acqObj:undefined def:false sav:false = (
- if not write do write = btnAuto.checked
- for obj in selection do fnApply obj keyIDX read write del acq acqObj def sav
- )
-
- ---------------------------------------------------------------
- -- Event Handler
- ---------------------------------------------------------------
- on cbxLadder changed state do ( fnUpdate keyIDX:1; fnGetPropsToShow(); fnPrintLabel() )
- on btnAcq changed state do ( fnAcquire _RollOut; fnGetPropsToShow(); fnPrintLabel() )
- on btnSet pressed do ( fnUpdate keyIDX:1 write:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnDef pressed do ( fnUpdate keyIDX:1 def:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnSav pressed do ( fnUpdate keyIDX:1 sav:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnDel pressed do ( fnUpdate keyIDX:1 del:true; fnGetPropsToShow(); fnPrintLabel() )
- on LadderRollOut open do (
- _RollOut = fnRollOut()
- _name = fnName()
- fnOpenRollOut _RollOut
- )
- on LadderRollOut close do fnCloseRollOut _RollOut
-
- )
-